1. Field of the Invention
The present invention relates generally to testing a computer program, and more particularly to comprehensively testing functionality of the computer program based on a change to program code.
2. Description of the Related Art
Testing of a computer program is frequently performed during software development to verify the computer program is functioning properly subsequent to a change made to program code of the computer program. However, when a change is made to the program code of the computer program oftentimes the functionality of the computer program may not be thoroughly tested prior to release to consumers. Generally, the functionality of the computer program is not thoroughly tested because the person testing the program code lacks a complete understanding of the change made to the program code. Therefore, without a complete understanding of the change made to the program code the person may not know all the parts of the computer program that are affected by the change and that need to be tested. Moreover, the computer program can be very complex, and as the complexity of the computer program increases even a seemingly minor change to the program code may have a large impact on functionality of the computer program. Thus, without an efficient approach for testing the computer program it may be difficult to comprehensively test the functionality of the computer program.
Existing approaches for testing functionality of a computer program affected by a program code change can be extremely time consuming and susceptible to increased human error. Specifically, the existing approaches involve a person reading a note that corresponds with the computer program, and from the note determining what test cases to apply and test scripts to execute in order to test the functionality of the computer program affected by the program code change. Typically, the note indicates what changes were made to the program code. For example, the note may state that program code change 1 does X, program code change 2 does Y, and program code change 3 does Z, and so forth. However, the person reading the note may not completely understand each program code change, and as a result may not know the correct test case to apply and the correct test script to run in order to test the appropriate functionality of the computer program. As a result, if the computer program is not properly tested the computer program may not be reliable for use by consumers. Thus, the challenge of comprehensively testing functionality of a computer program based on a change to program code continues to persist.